package com.hkts.management.contract.entity;

import java.io.Serializable;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hkts.management.mybaitsplus.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Transient;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author hml
 * @since 2021-04-22
 */
@Data
@ApiModel(value = "合同")
public class HktsContract extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    private String id;
    /**
     * 订单id
     */
    @ApiModelProperty(value = "订单id")
    private String orderId;
    /**
     * 运费
     */
    @ApiModelProperty(value = "运费")
    private BigDecimal transportPrice;
    /**
     * 付费期限
     */
    @ApiModelProperty(value = "付费期限")
    private Integer payTime;
    /**
     * 装货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "装货时间")
    private LocalDateTime loadingTime;
    /**
     * 装货时间小时
     */
    @ApiModelProperty(value = "装货时间小时")
    private Integer loadingTimeHours;
    /**
     * 卸货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "卸货时间")
    private LocalDateTime unloadingTime;
    /**
     * 卸货时间
     */
    @ApiModelProperty(value = "卸货时间")
    private Integer unloadingTimeHours;
    /**
     * 出发地省市区
     */
    @ApiModelProperty(value = "出发地省市区")
    private String startArea;
    /**
     * 出发地详细地址
     */
    @ApiModelProperty(value = "出发地详细地址")
    private String startAddressDetail;
    /**
     * 目的地省市区
     */
    @ApiModelProperty(value = "目的地省市区")
    private String endArea;
    /**
     * 目的地详细地址
     */
    @ApiModelProperty(value = "目的地详细地址")
    private String endAddressDetail;
    /**
     * 出发地经度
     */
    @ApiModelProperty(value = "出发地经度")
    private BigDecimal startLon;
    /**
     * 出发地纬度
     */
    @ApiModelProperty(value = "出发地纬度")
    private BigDecimal startLat;
    /**
     * 目的地经度
     */
    @ApiModelProperty(value = "目的地经度")
    private BigDecimal endLon;
    /**
     * 目的地纬度
     */
    @ApiModelProperty(value = "目的地纬度")
    private BigDecimal endLat;
    /**
     * 货物名称
     */
    @ApiModelProperty(value = "货物名称")
    private String cargoName;
    /**
     * 货物重量
     */
    @ApiModelProperty(value = "货物重量")
    private BigDecimal cargoWeight;
    /**
     * 货物单位
     */
    @ApiModelProperty(value = "货物单位")
    private String cargoUnit;
    /**
     * 收款人
     */
    @ApiModelProperty(value = "收款人")
    private String payee;
    /**
     * 收款银行
     */
    @ApiModelProperty(value = "收款银行")
    private String collectingBank;
    /**
     * 银行支行名称
     */
    @ApiModelProperty(value = "银行支行名称")
    private String bankName;
    /**
     * 银行卡号
     */
    @ApiModelProperty(value = "银行卡号")
    private String bankCode;
    /**
     * 承运车牌
     */
    @ApiModelProperty(value = "承运车牌")
    private String carrierPlate;
    /**
     * 补充约定
     */
    @ApiModelProperty(value = "补充约定")
    private String supplementAgree;
    /**
     * 合同状态
     */
    @ApiModelProperty(value = "合同状态")
    private Integer contractStatus;
    /**
     * 货物类型
     */
    @ApiModelProperty(value = "合同状态")
    private String cargoType;

    /**
     * 货物价格
     */
    @ApiModelProperty(value = "货物价格")
    private BigDecimal cargoPrice;



    @Transient
    @TableField(exist=false)
    private String startTitle;
    @Transient
    @TableField(exist=false)
    private String endTitle;

}
